// API配置文件
// 如需自定义配置，请复制此文件为 api-config.local.js 并修改配置信息
// 项目会优先使用 api-config.local.js，如不存在则使用此默认配置

const ApiConfig = {
  // 服务器配置
  server: {
    baseUrl: 'https://your-api-server.com', // 替换为您的API服务器地址
    timeout: 30000, // 30秒超时
    retryCount: 3, // 重试次数
  },

  // API路径配置
  endpoints: {
    // 微信登录接口
    wxLogin: '/wx/login',
    // 二维码/条形码生成接口
    codeGeneration: '/api/code/gen',
  },

  // 历史记录配置
  history: {
    maxRecords: 20,  // 历史记录最大条数
    storageKeys: {
      scanHistory: 'scanHistory',        // 扫码历史
      generateHistory: 'generateHistory', // 生成历史
      barcodeHistory: 'barcodeHistory'   // 条形码历史
    },
    // 记录类型
    recordTypes: {
      scan: 'scan',           // 扫码记录
      qrGenerate: 'qr',       // 二维码生成记录
      barcodeGenerate: 'barcode' // 条形码生成记录
    }
  },

  // 频率控制配置
  rateLimit: {
    // 本地频率控制 (毫秒)
    singleGenInterval: 2000,    // 单个生成间隔 2秒
    batchGenInterval: 10000,    // 批量生成间隔 10秒
    maxRequestsPerMinute: 20,   // 每分钟最多请求数
    maxBatchSize: 50,           // 批量生成最大数量
    
    // 频率控制存储key
    storageKeys: {
      lastSingleGen: 'last_single_gen_time',
      lastBatchGen: 'last_batch_gen_time',
      requestHistory: 'request_history_minute'
    }
  },

  // 用户标识配置
  userIdentity: {
    storageKey: 'user_unique_id',
    prefix: 'wx_user_'
  },

  // 登录配置
  auth: {
    corpCode: 'your_corp_code', // 替换为您的企业代码
    storageKeys: {
      // 以下键名需要根据您的服务器API规范进行调整
      accessToken: 'access_token',    // 访问令牌存储键
      userCode: 'user_code',          // 用户代码存储键
      userInfo: 'user_info',          // 用户信息存储键
      isLoggedIn: 'is_logged_in'      // 登录状态存储键
    },
    tokenExpiryTime: 30 * 60 * 1000, // 30分钟，毫秒
  },

  // 二维码/条形码类型配置
  codeTypes: {
    qrcode: {
      standard: 'qr_standard',
      micro: 'qr_micro'
    },
    barcode: {
      'Code 128': 'barcode_128',
      'Code 39': 'barcode_39',
      'EAN-13': 'barcode_ean13',
      'EAN-8': 'barcode_ean8',
      'ITF': 'barcode_itf'
    }
  }
};

module.exports = ApiConfig; 